import axios from 'axios';
import store from '@/store';

export function request(config){
	const instance = axios.create({
		baseURL: "http://localhost:8000",
		timeout: 5000
	})
	
	// 请求拦截
	instance.interceptors.request.use(config=>{
		// console.log('Sending request to:', config.url);
		const token = window.localStorage.getItem("token");
		// 在向后端返送请求时在请求头加上Token
		// 在拦截器做的权限验证，是对于后端来说的
		if(token){
			config.headers.Authorization='token';
		}
		return config;
	}, err=>{
		console.error('Request error:', err);
	})
	
	// 响应拦截
	instance.interceptors.response.use(res=>{
		// console.log('Received response from:', res.config.url);
		if(res.data.status==false){
			window.localStorage.removeItem("token");
			store.commit("setIsLogin",false);
		}
		return res.data?res.data:res;
	}, err=>{
		console.error('Response error:', err);
	})
	
	return instance(config);
}